/*
 * The Relaxer artifact
 * Copyright (c) 2000-2004, ASAMI Tomoharu, All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * - Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer. 
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
package org.doubletype.ossa.xml;

import java.io.*;
import java.net.URL;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;

/**
 * IGlyphFactory is generated by Relaxer based on glyph.rng.
 *
 * @version glyph.rng 1.0 (Tue Nov 09 20:22:48 EST 2004)
 * @author  Relaxer 1.1b (http://www.relaxer.org)
 */
public interface IGlyphFactory {
    /**
     * Gets a Class of <code>XParamListParam</code>.
     *
     * @return Class
     */
    Class getXParamListParamClass();

    /**
     * Gets a Class of <code>XHeadGlobal</code>.
     *
     * @return Class
     */
    Class getXHeadGlobalClass();

    /**
     * Gets a Class of <code>XHeadLocal</code>.
     *
     * @return Class
     */
    Class getXHeadLocalClass();

    /**
     * Gets a Class of <code>XHead</code>.
     *
     * @return Class
     */
    Class getXHeadClass();

    /**
     * Gets a Class of <code>XGlyphFile</code>.
     *
     * @return Class
     */
    Class getXGlyphFileClass();

    /**
     * Gets a Class of <code>XContour</code>.
     *
     * @return Class
     */
    Class getXContourClass();

    /**
     * Gets a Class of <code>XPoint2d</code>.
     *
     * @return Class
     */
    Class getXPoint2dClass();

    /**
     * Gets a Class of <code>XInvokePos</code>.
     *
     * @return Class
     */
    Class getXInvokePosClass();

    /**
     * Gets a Class of <code>XInvokeArg</code>.
     *
     * @return Class
     */
    Class getXInvokeArgClass();

    /**
     * Gets a Class of <code>XInvokeVarg</code>.
     *
     * @return Class
     */
    Class getXInvokeVargClass();

    /**
     * Gets a Class of <code>XInvoke</code>.
     *
     * @return Class
     */
    Class getXInvokeClass();

    /**
     * Gets a Class of <code>XInclude</code>.
     *
     * @return Class
     */
    Class getXIncludeClass();

    /**
     * Gets a Class of <code>XModule</code>.
     *
     * @return Class
     */
    Class getXModuleClass();

    /**
     * Gets a Class of <code>XBody</code>.
     *
     * @return Class
     */
    Class getXBodyClass();

    /**
     * Gets a Class of <code>XStartGlyphElement</code>.
     *
     * @return Class
     */
    Class getXStartGlyphElementClass();

    /**
     * Gets a Class of <code>XControlPoint</code>.
     *
     * @return Class
     */
    Class getXControlPointClass();

    /**
     * Gets a Class of <code>XHint</code>.
     *
     * @return Class
     */
    Class getXHintClass();

    /**
     * Gets a Class of <code>XContourPoint</code>.
     *
     * @return Class
     */
    Class getXContourPointClass();

    /**
     * Gets a Class of <code>XParamList</code>.
     *
     * @return Class
     */
    Class getXParamListClass();

    /**
     * Sets a <b>errorHandler</b>.
     *
     * @param errorHandler
     */
    void setErrorHandler(org.xml.sax.ErrorHandler errorHandler);

    /**
     * Gets a <b>errorHandler</b>.
     *
     * @return org.xml.sax.ErrorHandler
     */
    org.xml.sax.ErrorHandler getErrorHandler();

    /**
     * Sets a <b>entityResolver</b>.
     *
     * @param entityResolver
     */
    void setEntityResolver(org.xml.sax.EntityResolver entityResolver);

    /**
     * Gets a <b>entityResolver</b>.
     *
     * @return org.xml.sax.EntityResolver
     */
    org.xml.sax.EntityResolver getEntityResolver();

    /**
     * Sets a <b>baseUri</b>.
     *
     * @param baseUri
     */
    void setBaseUri(String baseUri);

    /**
     * Gets a <b>baseUri</b>.
     *
     * @return String
     */
    String getBaseUri();

    /**
     * Creates a <code>Object</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return Object
     */
    Object create(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>Object</code> by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return Object
     */
    Object create(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>Object</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return Object
     */
    Object create(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>Object</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return Object
     */
    Object create(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>Object</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return Object
     */
    Object create(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>Object</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return Object
     */
    Object create(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>Object</code> by the Object <code>source</code>.
     *
     * @param source
     * @return Object
     */
    Object create(Object source);

    /**
     * Creates a <code>Object</code> by the Document <code>dom</code>.
     *
     * @param doc
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return Object
     */
    Object create(Document doc) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>Object</code> by the Element <code>element</code>.
     *
     * @param element
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return Object
     */
    Object create(Element element) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XParamListParam</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadGlobal</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadLocal</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHead</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHead
     */
    XHead createXHead(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XGlyphFile</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContour</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContour
     */
    XContour createXContour(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XPoint2d</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokePos</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeArg</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeVarg</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvoke</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvoke
     */
    XInvoke createXInvoke(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInclude</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInclude
     */
    XInclude createXInclude(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XModule</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XModule
     */
    XModule createXModule(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XBody</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XBody
     */
    XBody createXBody(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XStartGlyphElement</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XControlPoint</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHint</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHint
     */
    XHint createXHint(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContourPoint</code> by the File <code>file</code>.
     *
     * @param file
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(File file) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XParamListParam</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadGlobal</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadLocal</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHead</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHead
     */
    XHead createXHead(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XGlyphFile</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContour</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContour
     */
    XContour createXContour(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XPoint2d</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokePos</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeArg</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeVarg</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvoke</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvoke
     */
    XInvoke createXInvoke(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInclude</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInclude
     */
    XInclude createXInclude(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XModule</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XModule
     */
    XModule createXModule(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XBody</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XBody
     */
    XBody createXBody(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XStartGlyphElement</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XControlPoint</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHint</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHint
     */
    XHint createXHint(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContourPoint</code>
     * by the String representation of URI <code>uri</code>.
     *
     * @param uri
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(String uri) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XParamListParam</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadGlobal</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadLocal</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHead</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHead
     */
    XHead createXHead(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XGlyphFile</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContour</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContour
     */
    XContour createXContour(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XPoint2d</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokePos</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeArg</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeVarg</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvoke</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvoke
     */
    XInvoke createXInvoke(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInclude</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInclude
     */
    XInclude createXInclude(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XModule</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XModule
     */
    XModule createXModule(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XBody</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XBody
     */
    XBody createXBody(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XStartGlyphElement</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XControlPoint</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHint</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHint
     */
    XHint createXHint(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContourPoint</code> by the URL <code>url</code>.
     *
     * @param url
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(URL url) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XParamListParam</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadGlobal</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadLocal</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHead</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHead
     */
    XHead createXHead(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XGlyphFile</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContour</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContour
     */
    XContour createXContour(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XPoint2d</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokePos</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeArg</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeVarg</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvoke</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvoke
     */
    XInvoke createXInvoke(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInclude</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInclude
     */
    XInclude createXInclude(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XModule</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XModule
     */
    XModule createXModule(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XBody</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XBody
     */
    XBody createXBody(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XStartGlyphElement</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XControlPoint</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHint</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHint
     */
    XHint createXHint(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContourPoint</code> by the InputStream <code>in</code>.
     *
     * @param in
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(InputStream in) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XParamListParam</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadGlobal</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadLocal</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHead</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHead
     */
    XHead createXHead(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XGlyphFile</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContour</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContour
     */
    XContour createXContour(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XPoint2d</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokePos</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeArg</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeVarg</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvoke</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvoke
     */
    XInvoke createXInvoke(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInclude</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInclude
     */
    XInclude createXInclude(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XModule</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XModule
     */
    XModule createXModule(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XBody</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XBody
     */
    XBody createXBody(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XStartGlyphElement</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XControlPoint</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHint</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHint
     */
    XHint createXHint(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContourPoint</code> by the InputSource <code>is</code>.
     *
     * @param is
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(InputSource is) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XParamListParam</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadGlobal</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHeadLocal</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHead</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHead
     */
    XHead createXHead(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XGlyphFile</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContour</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContour
     */
    XContour createXContour(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XPoint2d</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokePos</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeArg</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvokeVarg</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInvoke</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInvoke
     */
    XInvoke createXInvoke(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XInclude</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XInclude
     */
    XInclude createXInclude(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XModule</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XModule
     */
    XModule createXModule(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XBody</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XBody
     */
    XBody createXBody(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XStartGlyphElement</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XControlPoint</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XHint</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XHint
     */
    XHint createXHint(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XContourPoint</code> by the Reader <code>reader</code>.
     *
     * @param reader
     * @exception IOException
     * @exception SAXException
     * @exception ParserConfigurationException
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(Reader reader) throws IOException, SAXException, ParserConfigurationException;

    /**
     * Creates a <code>XParamListParam</code>.
     *
     * @return XParamListParam
     */
    XParamListParam createXParamListParam();

    /**
     * Creates a <code>XHeadGlobal</code>.
     *
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal();

    /**
     * Creates a <code>XHeadLocal</code>.
     *
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal();

    /**
     * Creates a <code>XHead</code>.
     *
     * @return XHead
     */
    XHead createXHead();

    /**
     * Creates a <code>XGlyphFile</code>.
     *
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile();

    /**
     * Creates a <code>XContour</code>.
     *
     * @return XContour
     */
    XContour createXContour();

    /**
     * Creates a <code>XPoint2d</code>.
     *
     * @return XPoint2d
     */
    XPoint2d createXPoint2d();

    /**
     * Creates a <code>XInvokePos</code>.
     *
     * @return XInvokePos
     */
    XInvokePos createXInvokePos();

    /**
     * Creates a <code>XInvokeArg</code>.
     *
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg();

    /**
     * Creates a <code>XInvokeVarg</code>.
     *
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg();

    /**
     * Creates a <code>XInvoke</code>.
     *
     * @return XInvoke
     */
    XInvoke createXInvoke();

    /**
     * Creates a <code>XInclude</code>.
     *
     * @return XInclude
     */
    XInclude createXInclude();

    /**
     * Creates a <code>XModule</code>.
     *
     * @return XModule
     */
    XModule createXModule();

    /**
     * Creates a <code>XBody</code>.
     *
     * @return XBody
     */
    XBody createXBody();

    /**
     * Creates a <code>XStartGlyphElement</code>.
     *
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement();

    /**
     * Creates a <code>XControlPoint</code>.
     *
     * @return XControlPoint
     */
    XControlPoint createXControlPoint();

    /**
     * Creates a <code>XHint</code>.
     *
     * @return XHint
     */
    XHint createXHint();

    /**
     * Creates a <code>XContourPoint</code>.
     *
     * @return XContourPoint
     */
    XContourPoint createXContourPoint();

    /**
     * Creates a <code>XParamListParam</code> by the XParamListParam <code>source</code>.
     *
     * @param source
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(XParamListParam source);

    /**
     * Creates a <code>XHeadGlobal</code> by the XHeadGlobal <code>source</code>.
     *
     * @param source
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(XHeadGlobal source);

    /**
     * Creates a <code>XHeadLocal</code> by the XHeadLocal <code>source</code>.
     *
     * @param source
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(XHeadLocal source);

    /**
     * Creates a <code>XHead</code> by the XHead <code>source</code>.
     *
     * @param source
     * @return XHead
     */
    XHead createXHead(XHead source);

    /**
     * Creates a <code>XGlyphFile</code> by the XGlyphFile <code>source</code>.
     *
     * @param source
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(XGlyphFile source);

    /**
     * Creates a <code>XContour</code> by the XContour <code>source</code>.
     *
     * @param source
     * @return XContour
     */
    XContour createXContour(XContour source);

    /**
     * Creates a <code>XPoint2d</code> by the XPoint2d <code>source</code>.
     *
     * @param source
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(XPoint2d source);

    /**
     * Creates a <code>XInvokePos</code> by the XInvokePos <code>source</code>.
     *
     * @param source
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(XInvokePos source);

    /**
     * Creates a <code>XInvokeArg</code> by the XInvokeArg <code>source</code>.
     *
     * @param source
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(XInvokeArg source);

    /**
     * Creates a <code>XInvokeVarg</code> by the XInvokeVarg <code>source</code>.
     *
     * @param source
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(XInvokeVarg source);

    /**
     * Creates a <code>XInvoke</code> by the XInvoke <code>source</code>.
     *
     * @param source
     * @return XInvoke
     */
    XInvoke createXInvoke(XInvoke source);

    /**
     * Creates a <code>XInclude</code> by the XInclude <code>source</code>.
     *
     * @param source
     * @return XInclude
     */
    XInclude createXInclude(XInclude source);

    /**
     * Creates a <code>XModule</code> by the XModule <code>source</code>.
     *
     * @param source
     * @return XModule
     */
    XModule createXModule(XModule source);

    /**
     * Creates a <code>XBody</code> by the XBody <code>source</code>.
     *
     * @param source
     * @return XBody
     */
    XBody createXBody(XBody source);

    /**
     * Creates a <code>XStartGlyphElement</code> by the XStartGlyphElement <code>source</code>.
     *
     * @param source
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(XStartGlyphElement source);

    /**
     * Creates a <code>XControlPoint</code> by the XControlPoint <code>source</code>.
     *
     * @param source
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(XControlPoint source);

    /**
     * Creates a <code>XHint</code> by the XHint <code>source</code>.
     *
     * @param source
     * @return XHint
     */
    XHint createXHint(XHint source);

    /**
     * Creates a <code>XContourPoint</code> by the XContourPoint <code>source</code>.
     *
     * @param source
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(XContourPoint source);

    /**
     * Creates a <code>XParamListParam</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(Document doc);

    /**
     * Creates a <code>XHeadGlobal</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(Document doc);

    /**
     * Creates a <code>XHeadLocal</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(Document doc);

    /**
     * Creates a <code>XHead</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XHead
     */
    XHead createXHead(Document doc);

    /**
     * Creates a <code>XGlyphFile</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(Document doc);

    /**
     * Creates a <code>XContour</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XContour
     */
    XContour createXContour(Document doc);

    /**
     * Creates a <code>XPoint2d</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(Document doc);

    /**
     * Creates a <code>XInvokePos</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(Document doc);

    /**
     * Creates a <code>XInvokeArg</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(Document doc);

    /**
     * Creates a <code>XInvokeVarg</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(Document doc);

    /**
     * Creates a <code>XInvoke</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XInvoke
     */
    XInvoke createXInvoke(Document doc);

    /**
     * Creates a <code>XInclude</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XInclude
     */
    XInclude createXInclude(Document doc);

    /**
     * Creates a <code>XModule</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XModule
     */
    XModule createXModule(Document doc);

    /**
     * Creates a <code>XBody</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XBody
     */
    XBody createXBody(Document doc);

    /**
     * Creates a <code>XStartGlyphElement</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(Document doc);

    /**
     * Creates a <code>XControlPoint</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(Document doc);

    /**
     * Creates a <code>XHint</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XHint
     */
    XHint createXHint(Document doc);

    /**
     * Creates a <code>XContourPoint</code> by the Document <code>doc</code>.
     *
     * @param doc
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(Document doc);

    /**
     * Creates a <code>XParamListParam</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(Element element);

    /**
     * Creates a <code>XHeadGlobal</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(Element element);

    /**
     * Creates a <code>XHeadLocal</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(Element element);

    /**
     * Creates a <code>XHead</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XHead
     */
    XHead createXHead(Element element);

    /**
     * Creates a <code>XGlyphFile</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(Element element);

    /**
     * Creates a <code>XContour</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XContour
     */
    XContour createXContour(Element element);

    /**
     * Creates a <code>XPoint2d</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(Element element);

    /**
     * Creates a <code>XInvokePos</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(Element element);

    /**
     * Creates a <code>XInvokeArg</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(Element element);

    /**
     * Creates a <code>XInvokeVarg</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(Element element);

    /**
     * Creates a <code>XInvoke</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XInvoke
     */
    XInvoke createXInvoke(Element element);

    /**
     * Creates a <code>XInclude</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XInclude
     */
    XInclude createXInclude(Element element);

    /**
     * Creates a <code>XModule</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XModule
     */
    XModule createXModule(Element element);

    /**
     * Creates a <code>XBody</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XBody
     */
    XBody createXBody(Element element);

    /**
     * Creates a <code>XStartGlyphElement</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(Element element);

    /**
     * Creates a <code>XControlPoint</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(Element element);

    /**
     * Creates a <code>XHint</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XHint
     */
    XHint createXHint(Element element);

    /**
     * Creates a <code>XContourPoint</code> by the Element <code>element</code>.
     *
     * @param element
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(Element element);

    /**
     * Creates a <code>XParamListParam</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XParamListParam
     */
    XParamListParam createXParamListParam(RStack stack);

    /**
     * Creates a <code>XHeadGlobal</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XHeadGlobal
     */
    XHeadGlobal createXHeadGlobal(RStack stack);

    /**
     * Creates a <code>XHeadLocal</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XHeadLocal
     */
    XHeadLocal createXHeadLocal(RStack stack);

    /**
     * Creates a <code>XHead</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XHead
     */
    XHead createXHead(RStack stack);

    /**
     * Creates a <code>XGlyphFile</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XGlyphFile
     */
    XGlyphFile createXGlyphFile(RStack stack);

    /**
     * Creates a <code>XContour</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XContour
     */
    XContour createXContour(RStack stack);

    /**
     * Creates a <code>XPoint2d</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XPoint2d
     */
    XPoint2d createXPoint2d(RStack stack);

    /**
     * Creates a <code>XInvokePos</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XInvokePos
     */
    XInvokePos createXInvokePos(RStack stack);

    /**
     * Creates a <code>XInvokeArg</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XInvokeArg
     */
    XInvokeArg createXInvokeArg(RStack stack);

    /**
     * Creates a <code>XInvokeVarg</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XInvokeVarg
     */
    XInvokeVarg createXInvokeVarg(RStack stack);

    /**
     * Creates a <code>XInvoke</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XInvoke
     */
    XInvoke createXInvoke(RStack stack);

    /**
     * Creates a <code>XInclude</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XInclude
     */
    XInclude createXInclude(RStack stack);

    /**
     * Creates a <code>XModule</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XModule
     */
    XModule createXModule(RStack stack);

    /**
     * Creates a <code>XBody</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XBody
     */
    XBody createXBody(RStack stack);

    /**
     * Creates a <code>XStartGlyphElement</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XStartGlyphElement
     */
    XStartGlyphElement createXStartGlyphElement(RStack stack);

    /**
     * Creates a <code>XControlPoint</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XControlPoint
     */
    XControlPoint createXControlPoint(RStack stack);

    /**
     * Creates a <code>XHint</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XHint
     */
    XHint createXHint(RStack stack);

    /**
     * Creates a <code>XContourPoint</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XContourPoint
     */
    XContourPoint createXContourPoint(RStack stack);

    /**
     * Creates a <code>XParamList</code> by the Element <code>element</code>.
     *
     * @return XParamList
     */
    XParamList createXParamList();

    /**
     * Creates a <code>XParamList</code> by the Stack <code>stack</code>.
     * This mehtod is supposed to be used internally
     * by the Relaxer system.
     *
     * @param stack
     * @return XParamList
     */
    XParamList createXParamList(RStack stack);

    /**
     * Creates a <code>XParamList</code> by the object <code>source</code>.
     * This method is a template method for concrete classes.
     *
     * @param source
     * @return XParamList
     */
    XParamList createXParamList(XParamList source);
}
